package com.wwe.kotlinstudy.util.extend.two

class Labrador : Dog {

    var uage: Int

    constructor(uage: Int) : super(uage) {
        this.uage = uage
    }

    //我们在次级构造函数后面需要通过super来初始化父类。
    //因为在Kotlin中规定：

    //如果类没有主构造函数，那么每个次构造函数必须使用 super 关键字初始化其基类型，
    // 或委托给另一个构造函数做到这一点。 注意，在这种情况下，不同的次构造函数可以调用基类型的不同的构造函数

    //还有一点，我们的顶部变成了：Labrador : Dog，Dog()都不需要，这是为什么呢？因为我们的Dog并没有无参构造函数，
    // 如果你给Person编写的无参构造函数，就需要这样子了：User:Person();

    //记得的一点，Dog一定要是open的哦。

    //子类的次级构造函数只需要调用父类的任意构造函数进行初始化即可，当然该情况是在父类没有主构造函数的情况下。


}